import uuid
from typing import Optional

from pydantic import BaseModel, Field

class RetrieveRequest(BaseModel):
    k: Optional[int] = Field(3, gt=0, description="Number of top results to retrieve.")
    input: str

class RetrieveResponse(BaseModel):
    retrieved_context: str

class UpdateRequest(BaseModel):
    full_turn_text: str

class UpdateResponse(BaseModel):
    status: str = "success"
    new_node_id: uuid.UUID

class BatchUpdateRequest(BaseModel):
    texts: list[str]